load(
    "//tools/build_defs/oss:rn_defs.bzl",
    "ANDROID_JSC_DEPS",
    "APPLE",
    "APPLE_JSC_DEPS",
    "react_native_xplat_target",
    "jni_instrumentation_test_lib",
    "fb_xplat_cxx_test",
)

TEST_SRCS = [
    "RecoverableErrorTest.cpp",
    "jsarg_helpers.cpp",
    "jsbigstring.cpp",
    "jscexecutor.cpp",
    "jsclogging.cpp",
    "methodcall.cpp",
    "value.cpp",
]

jni_instrumentation_test_lib(
    name = "tests",
    srcs = TEST_SRCS,
    class_under_test = "com/facebook/react/XplatBridgeTest",
    compiler_flags = [
        "-fexceptions",
        "-frtti",
        "-std=c++14",
    ],
    soname = "libxplat-bridge.so",
    visibility = [
        "fbandroid//instrumentation_tests/...",
    ],
    deps = [
        "xplat//third-party/linker_lib:android",
        "xplat//third-party/gmock:gtest",
        react_native_xplat_target("cxxreact:bridge"),
    ] + ANDROID_JSC_DEPS,
)

fb_xplat_cxx_test(
    name = "tests",
    srcs = TEST_SRCS,
    compiler_flags = [
        "-fexceptions",
        "-frtti",
    ],
    platforms = APPLE,
    visibility = [
        react_native_xplat_target("cxxreact/..."),
    ],
    deps = [
        "xplat//folly:molly",
        "xplat//third-party/gmock:gtest",
        react_native_xplat_target("cxxreact:bridge"),
        react_native_xplat_target("jschelpers:jschelpers"),
    ] + APPLE_JSC_DEPS,
)
